1. Field of the Invention
The present invention relates to a nonvolatile memory device and method for storing status information using a plurality of strings.
2. Description of the Related Art
The development of multimedia technology has led to a tendency of using a large amount of data. In addition, with the diversification of devices such as digital cameras, digital camcorders, and digital recorders requiring storage of multimedia data, interest in nonvolatile memory devices storing multimedia device is increasing. Nonvolatile memory devices include memory devices such as NAND flash memory devices requiring an erase operation to be performed before a write operation.
Usually, memory has a value of “1” or “0” according to existence or nonexistence of charges in a particular area. These memory elements constitute a single memory device. Meanwhile, input/output can be performed in memory in various ways. Multi-level cell memory is comprised of multi-level cells. Here, “multi-level” indicates that multiple levels of charges exist in each cell. For example, when there are four levels 0 through 3of a charge status, level 0 indicates that no charges exist; level 1 indicates that charges of V1 or lower voltage are stored; level 2 indicates that charges are stored between V1 and V2; and level 3 indicates that charges are fully stored at V2. A multi-level cell can store at least one bit of information. A cell is a single unit of storing data. Diverse flash memory devices are provided according to the connection relationship between cells and an input/output unit or erase unit constituted by cells.
A flash memory device is an electrically erasable and programmable nonvolatile memory device and has advantages of low power consumption and small volume. However, an erase operation must be performed first to store data in flash memory. As a result, two types of status, i.e., an erased status and a nonerased status, exist. A unit (or a block) erased at a time may be greater than a unit (or a page) stored at a time. Flash memory is a name created to indicate that a single block is erased at a time.
FIG. 1 illustrates an organization of a conventional NAND flash memory. A cell 100 is a minimum unit for storing information. A string 310 is comprised of cells connected in series. The cell 100 includes a control gate, a floating gate, a source, and a drain. Anions may be accumulated at the floating gate and accumulation status is defined as “0” or “1.” A word line (WL) is a unit group of control gates of multiple cells. A WL is a page unit in the NAND flash memory and allows a page to be selected when data is input or output. Information of a cell in a page may be a single bit and may be read or programmed through a bit line (BL). A string selection line (SSL), a ground selection line (GSL), and a common source line (CSL) are used to control cells when data is written to or read from a cell or when all data in a block is erased.
FIG. 2 illustrates the diagrammatized structure of the flash memory illustrated in FIG. 1. Cells illustrated in FIG. 1 are represented by circles and a line is connected between circles to represent that the cells are connected in a string.
As described above, a block 500 is a unit erased at a time in flash memory. Pluralities of blocks are included in the flash memory. The block 500 includes a plurality of strings 310, 320, 330 in which a plurality of cells are connected in series. In NAND or AND flash memory, as illustrated in FIG. 1, a drain of a first cell is connected to a source of a second cell. Such connection is made among a plurality of cells.
Each of pages 210 and 220 is another element included in the block 500 and corresponds to a WL illustrated in FIG. 1. Each of the pages 210 and 220 is a unit for the input and output of data. Each page 210 or 220 is comprised of cells at the same position in different strings. For example, the page A 210 is comprised of first cells in the strings 310 and 330. The page B 220 is comprised of third cells in the strings 310 and 330. In flash memory, each cell can store at least one bit of information. Data is written (or programmed) in units of pages and an erase operation is required before the data is written. Here, data is erased in units of blocks. As illustrated in FIGS. 1 and 2, the strings 310, 320, and 330 are sets of connected cells. Accordingly, when data is programmed to the page A 210, other cells included in the same strings as cells of the page A 210 may be influenced.
FIG. 3 illustrates the structure of the conventional NAND flash memory. The NAND flash memory includes a plurality of blocks each of which is like the block 500 shown in FIG. 2. Each block includes a plurality of pages. Each page includes a main string group comprised of main strings and a spare string group comprised of spare strings. A cell in a main string group constructs at least one sector. The spare string group is a space, in which data is not currently stored, and is reserved to store data later or to replace a cell having an error. Usually, the number of bits having an error per one page is the number of cells having an error in both of the main string group and the spare string group. A page is a unit for logical input/output and a string is a group of physical cells.
FIG. 4 illustrates a case where when a particular cell is programmed in the conventional flash memory, other cells in the same string as the particular cell are influenced. A first cell 110 is programmed to store data in the page A 210. Here, a second cell 120 included in the same string (i.e., a string 310) as the first cell 110 may also be programmed. In detail, 3.3 V is applied to a BL2 and 18 V is applied to the page A 210 including a cell in which data is to be stored. Since 18 V is applied to a control gate of the first cell 110 and 3.3 V is applied to a BL2, negative charges (i.e., anions) in a source of the first cell 110 are accumulated at a floating gate of the first cell 110 while moving to a drain of the first cell 110. Originally, it is supposed that anions are not accumulated at the second cell 120 included in the page B 220. However, while charges are moving, anions may be accumulated at the second cell 120. As a result, the second cell 120 in the page B 220 may be unexpectedly programmed as 1 or 0.
In this case, unexpected data disturbance occurs. Here, since the second cell 120 is included in the page B 220, the page B 220 is eventually programmed while the page A 210 is programmed.
Conventionally, to prevent an error from occurring because electric power is interrupted while data is being stored in a page, a method of separately storing status information indicating whether data has been normally stored in each page, after storing of the data is performed on the page, has been proposed (U.S. Pat. No. 6,549,457B1). In the method, whether data storing was successful in a particular page is known through status information, but an error occurring when the status information is stored cannot be prevented. In particular, when the status information is stored at a cell in a memory having a string structure in which other cells may be influenced when one cell is programmed, an error cannot be prevented from occurring while the status information is stored.
For example, referring to FIG. 4, a setting is made to store status information in the first string 310 corresponding to a spare string. When a value of the first cell 110 is set to 0 after data is programmed to the page A 210, whether the data has been stored in the page A 210 is known from the value of the first cell 110. However, while status information is programmed to the first cell 110, the second cell 120 may also be programmed because the first cell 110 and the second cell 120 are included in the same string 310. Accordingly, when the second cell 120 is programmed as 0, an erroneous determination may be made that data has been stored in the page B 220.
Accordingly, it is desired to prevent an error from occurring when status information is stored so that data storage status can be determined correctly. It is important to prevent an error occurring when status information is stored because the error gives wrong information about a page or a sector rather than the status information itself. In particular, it is desired to prevent incorrect status information indicating that data has been stored in irrelevant pages from being stored due to interruption of electric power.